#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    string s1, s2, s;
    cin >> s1 >> s2;
    if(s1.size() == 0 || s2.size() == 0)
        cout << "0" << endl;
    // if(s1[0] == '0' || s2[0] == '0')
    //     cout << "0" << endl;

    // 先逆序
    reverse(s1.begin(), s1.end());
    reverse(s2.begin(), s2.end());
    int m = s1.size(), n = s2.size();
    int* tmp = new int[m + n - 1]{0};   // 创建一个临时数组，数组大小就是两个字符串的总个数 - 1
    // 无进位相乘然后相加，最后处理进位
    for(int i = 0; i < m; i++)
        for(int j = 0; j < n; j++)
            tmp[i + j] += (s1[i] - '0') * (s2[j] - '0');

    // 处理进位
    int t = 0;
    for(int i = 0; i < m + n - 1; i++)
    {
        t += tmp[i];
        s += t % 10 + '0';
        t /= 10;
    }

    if(t > 0)   // t 里面还有数
        s += t % 10 + '0';
    delete[] tmp;
    reverse(s.begin(), s.end());
    if(s[0] == '0')
        cout << "0" << endl;
    else
        cout << s << endl;

    return 0;
}
// 64 位输出请用 printf("%lld")